package espaceVisuCarre;

import java.awt.Color;
import java.util.Random;
import java.util.Stack;
import java.util.Vector;

import xmlItunes.Track;
/**
 * classe qui represente un regrouppement d'mp3 ( vertical )
 *
 */
public class Carre 
{
	private float proportionLargeur;
	
	private Vector<String> values ;
	
	private Vector<  Track > tracks ;

	public Carre()
	{
		super();

		this.proportionLargeur = 0;
		tracks = new Vector<  Track >();
		values = new Vector<String>();
	}


	
	public Vector<  Track > getTracks( )
	{
		return this.tracks ;
	}

	public String getNom()
	{
		String nom="";
		for(String s : values)
		{
			if(!nom.equals(""))nom+=",";
			nom+=s;
		}
		return nom;
	}

	private Color calculerCouleur()
	{	
		String nom = this.getNom() ;
		
		if(nom==null)return Color.black;
		
		nom = nom.toLowerCase();
		
		double r=0;
		double g=0;
		double b=0;
		
		for( int i =0 ; i<nom.length() ; i++ )
		{
			int nv = (int) nom.charAt(i) ;
			// a=97 , z=122
			if(nv > 97  && nv< 105  ){ r++ ;}
			if(nv > 105 && nv< 113  ){ g++ ;}
			if(nv > 113 && nv< 122  ){ b++ ;}
			
		}
		
		double d = (r+g+b);
		r = r / d ;
		g = g / d ;
		b = b / d ;
		
		//System.out.println(r+"/"+g+"/"+b);
		
		Color couleur = new Color( (int)(r*254) ,(int)(g*254), (int)(b*254) ) ;
		return couleur ;
	}
	
	public Color getCouleur() {
		return calculerCouleur();
	}

	public float getProportionLargeur() {
		return proportionLargeur;
	}

	public Vector<String> getValues() {
		return values;
	}


	public void setProportionLargeur(float proportionLargeur) {
		this.proportionLargeur = proportionLargeur;
	}
	
}
